class Person {
  constructor(name) {
    this.name = name;
  }

  say() {
    console.log(this, 'this');
    console.log(this.name, 'this.name');
    return `hei！My name is ${ this.name }`;
  }
  // 挂载到静态方法的时候，这个时候的 this 指向的是这个函数本身，而不会 指向实例
  static of(value) {
    console.log(this.name);
    return new Person(value);
  }
}

const newPerson = Person.of('薛诺');
newPerson.say();

const startNewPerson = new Person('薛帅康');
startNewPerson.say();

// new 之后是不能再调用静态方法的
// startNewPerson.of('xsk');
